草庐IT

git pull --rebase

全部标签

git - 如何用 git gui 做一个 rebase?

我知道如何从命令行执行gitrebase,但你如何使用官方git-gui执行此操作?? 最佳答案 将此添加到您主目录中的.gitconfig文件,以将rebase命令添加到工具菜单:[guitool"Rebaseonto..."]cmd=gitrebase$REVISIONrevprompt=yes[guitool"Rebase/Continue"]cmd=gitrebase--continue[guitool"Rebase/Skip"]cmd=gitrebase--skip[guitool"Rebase/Abort"]cmd=gi

git rebase 交互式 : squash merge commits together

我想要一个简单的解决方案来在交互式rebase期间将两个merge提交压缩在一起。我的仓库看起来像:X---Y---------M1--------M2(my-feature)//////a---b---c---d---e---f(stable)也就是说,我有一个my-feature分支,最近merge了两次,中间没有真正的提交。我不只是想重新设置my-feature分支,因为它是自己的已发布分支,我只是想将最后两个merge提交merge为一个(尚未发布这些提交还)X---Y----M(my-feature)////a---...--f(stable)我试过:gitrebase-p-

git rebase 使用 sourcetree

我想我对如何使用SourceTreeGUI执行gitrebase感到困惑。我有两个分支“master”和“dev”。如所见,两个分支分开了。我想在“dev”分支上做一个rebase,使用命令行,这将是:gitcheckoutdevgitrebasemaster我本来希望右键单击“dev”,然后选择“Rebasecurrentchangesontodev”。我假设当前的更改意味着“对主服务器的新提交”。但是选择这个选项似乎没有任何效果。正确的步骤是什么? 最佳答案 Butpickingthisoptionseemshavenoeffe

Git rebase (Merge Squash) 我的功能分支到另一个分支

我正在寻找一个git命令来帮助我处理我的功能分支,当它们准备好进入Master时。这个git命令会将我在分支上的所有更改压缩到master之上的单个提交中。我今天这样做:gitrebaseorigin/mastergitrebase-iHEAD~4其中4是压缩的提交数。但是,这需要我知道我有多少次提交。我今天通过运行来做到这一点:gitlogHEAD...origin/master然后计算提交数。我觉得好像应该有更好的方法来做到这一点。或者其他人也是这样做的? 最佳答案 您所要做的就是:gitcheckoutfeature_bran

git - 使用 Source Tree,rebase with conflict,冲突解决后 rebase 不起作用

我正在使用SourceTree作为我在Windows上的git工具。我有一个main分支和一个feature分支,当我有冲突时我无法让SourceTree执行rebase。主要看起来像:c1->c2->c4->c5特征看起来像:c1->c2->c3我想对功能进行rebase,这样它将是:c1->c2->c4->c5->c3c3和c5之间存在冲突。我可以解决冲突,但是当我提交更改时,我得到一个HEAD标记,查看我的图表我可以看到feature分支没有重新设置基线。我怎样才能让rebase起作用? 最佳答案 不幸的是,在rebase期间

git - 我可以在不修改工作副本的情况下对 Git 分支进行 rebase 吗?

假设我检查了我的“master”分支。我已经对“master”进行了一些生产更改,现在我想将我的“实验”分支重新定位到最新的master。但是,我想在不修改工作副本中的任何文件的情况下执行此操作。本质上,我希望所有的魔法都发生在.git目录中,而不触及工作副本。如果不是因为“不要修改我的工作副本”的要求,这只是一个做的问题:#currentbranchismastergitcheckoutexperimentalgitrebasemastergitcheckoutmaster我真正的问题是,这会修改我的工作副本中的时间戳,即使我最后检查的内容与我开始时完全相同。一旦我运行“gitche

Git 错误 : previous rebase directory . git/rebase-apply 仍然存在但给出了 mbox

我正在尝试应用我从http://www.winehq.org/pipermail/wine-devel/2014-May/104356.html获取的补丁.我将其复制到文本编辑器中,并将其保存为my.patch(我需要修复电子邮件,它已被混淆)。我尝试用Git应用它,但我收到了这个错误:sashoalm@sashoalm-VirtualBox:~/Desktop/wine-git$gitam--signoff这个神秘的错误消息让我不知道出了什么问题,也不知道我需要做什么才能让它工作。这个错误是什么意思?我该如何解决? 最佳答案 gi

git - 如何知道是否有正在进行的 git rebase?

当我启动gitrebase-i时,我可以发出像gitrebase--continue或gitrebase--abort这样的命令.只有在进行rebase时,这些命令才有效。我如何知道是否正在进行rebase?(我将不胜感激关于rebase内部如何工作的一些细节;git对赋予它“rebase正在进行中”状态的repo做了什么,?) 最佳答案 2021年更新:正如我在“gitstashisslowonwindows”中提到的那样,使用GitforWindows2.19(2018年9月),gitstash(和gitrebase)不再是纯脚

git - 自 rebase 开始以来中止旧的 git rebase 并丢失提交

废话!大约一周前,我在尝试清理我的存储库时对一些提交进行rebase,显然我并没有真正完成它。今天,一个星期和几次提交后,我去rebase重新排序今天的一些提交,它告诉我我已经在进行rebase了。这应该是复制我的存储库以防万一的提示。但我没有……相反,我运行了gitrebase--abort这在当时听起来是对的。好吧,那是不对的。它从一周前中止了rebase,并将master的HEAD重置为旧的。傻瓜!我还有其他几个相当新的分支,我已经多次推送到远程,但最近的更改似乎永远消失了。我没有适当级别的git-fu来知道是否有任何方法可以恢复我的更改。我搞砸了吗?编辑-哇!多谢你们!gitr

Git: "Cannot ' squash' without a previous commit" rebase 时出错

我在gitrebase-iHEAD~2的待办事项文本中有以下内容:pick56bcce7Closes#2774picke43cebaLint.py:Replacedeprecatedlink#Rebase684f917..e43cebaonto684f917(2command(s))#...现在,当我尝试压缩第一个(56bcce7)并通过在第一个之前添加“s”来选择第二个时,我收到以下错误:Cannot'squash'withoutapreviouscommit谁能解释一下这是什么意思,我该怎么做?我想压缩第一个提交(56bcce7)并“选择并改写”第二个(e43ceba)提交